# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your MultiworldGG options are valid at this site:
#        https://multiworld.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default Donkey Kong 64 Template

game: Donkey Kong 64
requires:
  version: 0.7.158 # Version of MultiworldGG required for this yaml to work as expected.

Donkey Kong 64:
  ################
  # Game Options #
  ################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0
    random-high: 0
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  ######################
  # Victory Conditions #
  ######################
  goal:
    # Determines the goal of the seed.
    krool: 50
    all_keys: 0
    dk_rap: 0

  krool_key_count:
    # Determines how many keys are needed to spawn Krool's Ship.
    # 
    # Choosing a value of 0 means you start with all 8 keys.
    # Choosing a value of 8 means you start with no keys.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 8
    8: 50
    random: 0
    random-low: 0
    random-high: 0

  helm_phase_count:
    # Pick how many rooms needed to complete Helm.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 5
    2: 50
    random: 0
    random-low: 0
    random-high: 0

  krool_phase_count:
    # Pick how many phases are in the final battle against K. Rool.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 5
    3: 50
    random: 0
    random-low: 0
    random-high: 0

  krool_in_boss_pool:
    # Whether or not K. Rool can be fightable in T&S Bosses and vice versa.
    'false': 50
    'true': 0

  ######################
  # B. Locker Settings #
  ######################
  randomize_blocker_required_amounts:
    # Determines if B. Locker values are randomized.
    'false': 0
    'true': 50

  blocker_max:
    # Determines the Maximum Value for B. Lockers if Randomize B.Lockers are enabled.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 201
    64: 50
    random: 0
    random-low: 0
    random-high: 0

  enable_chaos_blockers:
    # If Randomize B. Lockers is also enabled, determines if B. Lockers may require non-Golden Banana collectibles.
    'false': 50
    'true': 0

  maximize_helm_blocker:
    # Ensures that Level 8's B. Locker will always be at the maximum value.
    'false': 50
    'true': 0

  chaos_ratio:
    # If Chaos Blockers are enabled, determine the max percentage of collectibles than can roll onto a BLocker.
    # 
    # Example:
    # There are 16 Rainbow Coins in the game. With a chaos ratio of 50%, a max BLocker can have a max of 8 rainbow coins.
    # Excludes Bean and Company Coins.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 100
    32: 50
    random: 0
    random-low: 0
    random-high: 0

  level1_blocker:
    # Determines the value of Level 1's B. Locker if Randomize B. Lockers are turned off.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 201
    0: 50
    random: 0
    random-low: 0
    random-high: 0

  level2_blocker:
    # Determines the value of Level 2's B. Locker if Randomize B. Lockers are turned off.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 201
    0: 50
    random: 0
    random-low: 0
    random-high: 0

  level3_blocker:
    # Determines the value of Level 3's B. Locker if Randomize B. Lockers are turned off.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 201
    0: 50
    random: 0
    random-low: 0
    random-high: 0

  level4_blocker:
    # Determines the value of Level 4's B. Locker if Randomize B. Lockers are turned off.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 201
    0: 50
    random: 0
    random-low: 0
    random-high: 0

  level5_blocker:
    # Determines the value of Level 5's B. Locker if Randomize B. Lockers are turned off.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 201
    0: 50
    random: 0
    random-low: 0
    random-high: 0

  level6_blocker:
    # Determines the value of Level 6's B. Locker if Randomize B. Lockers are turned off.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 201
    0: 50
    random: 0
    random-low: 0
    random-high: 0

  level7_blocker:
    # Determines the value of Level 7's B. Locker if Randomize B. Lockers are turned off.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 201
    0: 50
    random: 0
    random-low: 0
    random-high: 0

  level8_blocker:
    # Determines the value of Level 8's B. Locker if Randomize B. Lockers are turned off.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 201
    64: 50
    random: 0
    random-low: 0
    random-high: 0

  #############
  # Item Pool #
  #############
  starting_kong_count:
    # Determines how many Kongs you start with.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 5
    1: 50
    random: 0
    random-low: 0
    random-high: 0

  starting_move_count:
    # Determines how many additional random moves you start with. If you choose more moves than are available, you will start with all moves.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 50
    0: 50
    random: 0
    random-low: 0
    random-high: 0

  helm_key_lock:
    # Determines if a key will be locked at the end of Helm.
    'false': 0
    'true': 50

  climbing_shuffle:
    # Whether or not you shuffle the Climbing ability into the world(s).
    'false': 50
    'true': 0

  shopowners_in_pool:
    # Determines if Cranky, Funky, Candy, and Snide are added into the item pool. Shops will be inaccessible unless you collect its shop keeper.
    'false': 50
    'true': 0

  boulders_in_pool:
    # Determines if throwing boulders/barrels spawn a check.
    'false': 50
    'true': 0

  dropsanity:
    # Determines if Enemy Drops are added into the pool.
    'false': 50
    'true': 0

  hints_in_item_pool:
    # Determines if Hints are added into the Item Pool.
    'false': 50
    'true': 0

  half_medals_in_pool:
    # Determines if Half Medals are added to the pool.
    # 
    # If medal_cb_req is set to 50, you will get a check at 25 Colored Bananas.
    'false': 50
    'true': 0

  smaller_shops:
    # If enabled, shops would have a max of 3 items to sell.
    'false': 0
    'true': 50

  ###################
  # Levels/Barriers #
  ###################
  shuffle_helm_level_order:
    # Determined if Helm is shuffled into the level order.
    'false': 50
    'true': 0

  open_lobbies:
    # Determines whether or not all lobbies are preopened.
    'false': 50
    'true': 0

  switchsanity:
    # Determines if the pads leading to helm are randomized.
    # 
    # Options:
    # off: Switchsanity is Off
    # helm_access: Monkeyport pad and Gorilla Gone Pad are randomized
    # all: Most switches across the game are randomized.
    'off': 50
    helm_access: 0
    all: 0

  remove_barriers_selected:
    # Determines which barriers are removed.
    # 
    # Valid Keys:
    # "japes_coconut_gates"
    # "japes_shellhive_gates"
    # "aztec_tunnel_door"
    # "aztec_5dtemple_switches"
    # "aztec_llama_switches"
    # "aztec_tiny_temple_ice"
    # "factory_testing_gate"
    # "factory_production_room"
    # "galleon_lighthouse_gate"
    # "galleon_shipyard_area_gate"
    # "galleon_seasick_ship"
    # "galleon_treasure_room"
    # "forest_green_tunnel"
    # "forest_yellow_tunnel"
    # "caves_igloo_pads"
    # "caves_ice_walls"
    # "castle_crypt_doors"
    []

  #########
  # Logic #
  #########
  logic_type:
    # Determines what type of logic is needed to beat the seed.
    # 
    # Options:
    # glitchless: Logic is designed to be completed without glitches, mostly as intended by the developers.
    # advanced_glitchless: Logic is designed to be completed without glitches, but allows for advanced techniques. Add tricks you want to put in logic in tricks_selected.
    # glitched: Logic is designed to be completed with glitches. Add tricks you want to put in logic in tricks_selected, AND add glitches you want to put in logic in glitches_selected.
    glitchless: 50
    advanced_glitchless: 0
    glitched: 0

  tricks_selected:
    # Determines what tricks are enabled if logic_type is set to Advanced Glitchless or Glitched.
    # 
    # Valid Keys:
    # "monkey_maneuvers": Platforming techniques that don't require any glitches but might be too tough for some players.
    # "hard_shooting": Certain shooting checks that are harder will not require shooting aids, such as Homing Ammo and Sniper Scope.
    # "advanced_grenading": Certain checks can be done with oranges (DK 5 Door Cabin, Japes Painting Room). In addition, change Fungi time of day with oranges.
    # "slope_resets": Use kong ground attacks to climb steep slopes.
    []

  glitches_selected:
    # Determines what glitches are enabled if logic_type is set to Glitched.
    # 
    # Valid Keys:
    # "moonkicks": A trick that allows Donkey to ascend by interrupting his aerial attack with a kick.
    # "phase_swimming": Formerly known as STVW, a trick to go through a significant amount of walls in the game whilst underwater.
    # "swim_through_shores": A trick that allows you to swim into a sloped shoreline to get out of bounds.
    # "troff_n_scoff_skips": Any skip that allows you to bypass the kong and small banana requirement in order to fight a boss.
    # "moontail": A trick that allows the player to gain extra height with Diddy.
    []

  medal_cb_req:
    # Determines how many CBs are needed to acquire Banana Medal.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 100
    40: 50
    random: 0
    random-low: 0
    random-high: 0

  medal_distribution:
    # Determines how the CB requirement is determined.
    # 
    # Options:
    # pre_selected: Player chooses a specific value for CB requirements
    # easy_random: Random values are chosen with an easier progression curve
    # medium_random: Random values are chosen with a medium progression curve
    # hard_random: Random values are chosen with a hard progression curve
    # progressive: CB requirements increase progressively through levels depending on your medal_cb_requirement.
    pre_selected: 50
    easy_random: 0
    medium_random: 0
    hard_random: 0
    progressive: 0

  mermaid_gb_pearls:
    # Determines how many pearls are needed to satisfy the mermaid.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 5
    1: 50
    random: 0
    random-low: 0
    random-high: 0

  rareware_gb_fairies:
    # Determines how many Fairies are needed to unlock the Rareware Door.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 20
    4: 50
    random: 0
    random-low: 0
    random-high: 0

  medal_requirement:
    # Determines how many medals are needed to play Jetpac.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 40
    9: 50
    random: 0
    random-low: 0
    random-high: 0

  #################
  # Bonus Barrels #
  #################
  shuffled_bonus_barrels:
    # Determines which minigames are shuffled into the barrel pool.
    # 
    # Valid Keys:
    # "batty_barrel_bandit"
    # "big_bug_bash"
    # "busy_barrel_barrage"
    # "mad_maze_maul"
    # "minecart_mayhem"
    # "beaver_bother"
    # "teetering_turtle_trouble"
    # "stealthy_snoop"
    # "stash_snatch"
    # "splish_splash_salvage"
    # "speedy_swing_sortie"
    # "krazy_kong_klamour"
    # "searchlight_seek"
    # "kremling_kosh"
    # "peril_path_panic"
    # "helm_minigames"
    # "arenas"
    # "training_minigames"
    # "arcade"
    ['batty_barrel_bandit', 'big_bug_bash', 'busy_barrel_barrage', 'mad_maze_maul', 'minecart_mayhem', 'beaver_bother', 'teetering_turtle_trouble', 'stealthy_snoop', 'stash_snatch', 'splish_splash_salvage', 'speedy_swing_sortie', 'krazy_kong_klamour', 'searchlight_seek', 'kremling_kosh', 'peril_path_panic', 'helm_minigames', 'arenas', 'training_minigames', 'arcade']

  hard_minigames:
    # Determines if hard minigames are shuffled into the barrel pool.
    'false': 50
    'true': 0

  auto_complete_bonus_barrels:
    # If turned on, bonus barrels will instantly spawn their reward instead of requiring a minigame to complete.
    # 
    # This option does NOT autocomplete Helm barrels! Use the helm_room_bonus_count option.
    'false': 50
    'true': 0

  helm_room_bonus_count:
    # Determines how many bonus barrels need to be done in each Helm room.
    # 
    # If set to 0, there will be no bonus barrels and Blast-O-Matic sections will turn off immediately upon playing the instrument pad to open the room.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 2
    0: 50
    random: 0
    random-low: 0
    random-high: 0

  #############
  # Hard Mode #
  #############
  hard_mode:
    # Determines whether Hard Mode is enabled. Use the yaml option below this to determine which settings you want enabled.
    'false': 50
    'true': 0

  hard_mode_selected:
    # If Hard Mode is enabled, determines which Hard Mode settings are included.
    # 
    # Valid Keys:
    # "hard_enemies": Enemies Fight Back a little harder.
    # "shuffled_jetpac_enemies": Jetpac enemies are shuffled within Jetpac.
    # "strict_helm_timer": Helm Timer starts at 0:00 requiring blueprints to turn in
    # "donk_in_the_dark_world: All maps are pitch black, with only a light to help you path your way to the end of the game. Mixing this with 'Donk in the Sky' will convert the challenge into 'Memory Challenge' instead.
    # "donk_in_the_sky": Collision Geometry is disabled. Mixing this with 'Donk in the Dark World' will convert the challenge into 'Memory Challenge' instead.
    []

  mirror_mode:
    # Determines whether the game will be horizontally Mirrored.
    'false': 50
    'true': 0

  #########
  # Hints #
  #########
  hint_style:
    # Choose the style of Wrinkly hints you'd like to play with. These do not affect shopkeeper or microhints.
    # 
    # - off: No in-game hints at all.
    # - no_woth: Hints can tell you about your K. Rool phases, and directly hint important items and hard locations.
    # - woth: Same as no_woth, but Way of the Hoard hints can appear, which will tell you a location is required but not what item is at that location. Increases gen time significantly, especially in larger multiworlds.
    'off': 0
    no_woth: 50
    woth: 0

  shopkeeper_hints:
    # Determines if entering a shop with Shopkeepers in the pool will give you a hint on where the shopkeeper is.
    'false': 0
    'true': 50

  microhints:
    # Extra hints are placed in late-game to provide extra information if you are stuck on where an item is.
    # 
    # - Monkeyport will be hinted upon touching the lower Monkeyport pad in Isles with the B. Locker requirements to enter all of the first 7 levels.
    # - Gorilla Gone will be hinted upon touching the pad inside Helm Lobby with the B. Locker requirement to enter Helm.
    # - Instruments will be hinted upon touching their pad in Helm.
    'off': 0
    some: 0
    all: 50

  ################
  # Trap Weights #
  ################
  trap_fill_percentage:
    # Replace a percentage of junk items in the item pool with random traps.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    0: 50
    random: 0
    random-low: 0
    random-high: 0

  bubble_trap_weight:
    # Likelihood of receiving a trap which freezes the player.
    none: 0
    low: 0
    medium: 50
    high: 0

  slow_trap_weight:
    # Likelihood of receiving a trap which slows the player.
    none: 0
    low: 0
    medium: 50
    high: 0

  reverse_trap_weight:
    # Likelihood of receiving a trap which reverses controls.
    none: 0
    low: 0
    medium: 50
    high: 0

  disable_a_trap_weight:
    # Likelihood of receiving a trap which disables your A button.
    none: 0
    low: 0
    medium: 50
    high: 0

  disable_b_trap_weight:
    # Likelihood of receiving a trap which disables your B button.
    none: 0
    low: 0
    medium: 50
    high: 0

  disable_c_trap_weight:
    # Likelihood of receiving a trap which disables your C buttons.
    none: 0
    low: 0
    medium: 50
    high: 0

  disable_z_trap_weight:
    # Likelihood of receiving a trap which disables your Z button.
    none: 0
    low: 0
    medium: 50
    high: 0

  #########
  # Links #
  #########
  tag_link:
    # Determines if the Tag Link is enabled.
    # 
    # If enabled, if you have another players kong you will tag to that kong as well.
    # If you don't have that kong, you will randomly tag to another kong.
    # If you only have one kong, nothing will happen.
    'false': 50
    'true': 0

  ring_link:
    # Determines if the Ring Link is enabled.
    # 
    # The easier way to say this is Ammo link.
    # If enabled, all ammo types are shared between players.
    # 
    # Currently for Film and Crystal Coconuts if you gain any above the base amount from ringlink, we will not provide more.
    # But you can still gain more ammo from the world, and it will be shared.
    'false': 50
    'true': 0

  trap_link:
    # Determines if the Trap Link is enabled.
    # 
    # If enabled, your received Traps will link to other players with Trap Link enabled, and their received traps will link to you
    'false': 50
    'true': 0

  death_link:
    # When you die, everyone who enabled death link dies. Of course, the reverse is true too.
    'false': 50
    'true': 0

  #################
  # Notifications #
  #################
  receive_notifications:
    # Determines if the player will receive notifications about item sends.
    # 
    # Options:
    # - display_all_speedup (1): If we have more than 5 items queued, we will speed up the display based on the percentage.
    # - display_all_discard_extra (2): If we have more than 5 items queued, we will speed up the display based on percentage, but discard any non progression items.
    # - display_all_fast (3): Displays ALL items at the fastest speed.
    # - display_extra_fast (4): Displays Progression items at the default speed, and non progression items at a faster speed.
    # - display_extra_items (5): Displays extra items and progression items at standard speed.
    # - display_only_progression (6): Progression only, no speed changes.
    display_all_speedup: 50
    display_all_discard_extra: 0
    display_all_fast: 0
    display_extra_fast: 0
    display_extra_items: 0
    display_only_progression: 0
    display_nothing: 0

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with these items.
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
